Arithmetic unit for correcting detection output in which corrected operation output is sensitive to mechanical factors

ABSTRACT

An arithmetic unit for correcting a detection output of a detector for a mechanical error of the detector in accordance with a predetermined input/output characteristic (straight line) is provided. When a digital output of the detector exceeds an upper limit value stored in a main memory, the digital output becomes a new upper limit value. From a virtual line which passes through the new upper limit value and which is parallel to the straight line, a new lower limit value is obtained. A corrected operation output is obtained in accordance with a new input/output characteristic of the detector based on the new upper limit value and the new lower limit value. Thus, the correction accuracy is improved.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to arithmetic units for correcting a detection output from a detector in accordance with a linear input/output characteristic. More particularly, the present invention relates to an arithmetic unit, for correcting a detection output, in which a corrected operation output is sensitive to mechanical factors.

[0003] 2. Description of the Related Art

[0004] There are various types of detectors which generate a detection output having a linear input/output characteristic. These detectors include a rotating-type or sliding-type variable resistor and a magnetic detector such as a Hall element.

[0005] An analog signal output generated by these detectors is converted by an A/D converter into a digital signal output, and the digital signal output is subjected to subsequent processing.

[0006] Since a digitally-converted value generated by the A/D converter may contain an error outside the allowable range, the digitally-converted value is generally corrected, and the corrected value is regarded as a detection output of the detector.

[0007] The corrected detection output value of the detector can be computed from the following equation (1) wherein the maximum detection output value for the allowable maximum input of the detector is stored as an upper limit value A, the minimum detection output value for the allowable minimum input is stored as a lower limit value B, and a straight line connecting the upper limit value A and the lower limit value B is approximating to a straight line representing the input/output characteristic of the detector: $\begin{matrix} {{{corrected}\quad {detection}\quad {output}\quad {value}} = {\frac{\left( {{detection}\quad {output}} \right) - (B)}{(A) - (B)} \times \left( 2^{n} \right)}} & (1) \end{matrix}$

[0008] wherein n is a natural number representing the number of bits of the A/D converter.

[0009] For example, when the A/D converter is an eight-bit converter, 2^(n) (the number of discrete levels) is 256. When the A/D converter is a ten-bit converter, 2^(n) is 1024.

[0010] When the eight-bit A/D converter is used, the values between the upper limit value A and the lower limit value B are allocated with a resolution of 256 (00 to FF). In accordance with this allocation, the detection output from the detector is converted into one of the values from 00 to FF.

[0011] When various types of detectors are influenced by mechanical or structural factors, such as when a rotating resistor is influenced by a mechanical angle error, by a mechanical error between a resistive element and a wiper, or by a change in resistance caused by a temperature change, the input/output characteristic (straight line) of the detector is apt to vary. Specifically, the actual input/output characteristic of the detector may increasingly deviate from the input/output characteristic based on the stored upper limit value A and the stored lower limit value B, and the corrected detection output value of the detector may include a large error. It has been confirmed that the average error range is approximately ±10%.

SUMMARY OF THE INVENTION

[0012] In order to solve the foregoing problems, it is an object of the present invention to provide an arithmetic unit, for correcting a detection output of a detector, in which the correction accuracy of the detection output is improved in accordance with an input/output characteristic (straight line) approximating to the actual input/output characteristic of the detector by occasionally updating an initially-stored upper limit value and an initially-stored lower limit value when correcting the detection output of the detector.

[0013] According to an aspect of the present invention, an arithmetic unit for allocating a linear analog output obtained from a detector using a predetermined number of discrete levels (2^(n)) is provided. The arithmetic unit includes an A/D converter for converting the analog output from the detector into a digital value (Dx); a memory for storing an upper limit value A and a lower limit value B of the digital value (Dx) as predetermined values; and a controller for performing the following processing steps:

[0014] (1) when the digital value (Dx) is A(a1), which exceeds the upper limit value A, updating the upper limit value stored in the memory to A(a1);

[0015] (2) computing a virtual lower limit value B(a1) from the upper limit value A(a1) in accordance with the slope of a linear function determined by the preset upper limit value A and the preset lower limit value B and updating the lower limit value stored in the memory to the lower limit value B(a1); and

[0016] (3) computing an operation output D by calculating the following equation with respect to a subsequently-obtained digital value (Dx):

D=(2^(n))×{Dx−B(a 1)}/{A(a 1)−B(a 1)}.

[0017] For example, as shown in FIG. 2, when the detection output Dx of the detector indicates the new upper limit value A(a1) exceeding the upper limit value A stored in the memory (first register), the upper limit value A stored in the memory is overwritten by the new upper limit value A(a1), thus updating the upper limit value. It is assumed that the slope of the straight line remains unchanged after the updating, and a virtual line L1-L1 passing through the new upper limit value A(a1) is assumed. In accordance with the virtual line, a lower upper limit value B(a1) of the detector is obtained. From the computed upper limit value and the computed lower limit value, the digital output from the detector can be corrected in accordance with the virtual line approximating to the actual input/output characteristic of the detector. As a result, an error in the output (computation output) of the detector can be reduced.

[0018] Every time the digital value (Dx) exceeds the upper limit value A(a1), the processing steps (1), (2), and (3) may be performed in accordance with a new upper limit value.

[0019] For example, as shown in FIG. 2, when the digital value Dx indicates A(a2) exceeding the upper limit value A(a1), a virtual line L2-L2 passing through the new upper limit value A(a2) is assumed, and a lower limit value B(a2) is obtained. Accordingly, arithmetic processing similar to the above can be repeated.

[0020] When the digital value (Dx) is B(c1), which falls below the lower limit value B, the following processing steps may be performed:

[0021] (4) updating the lower limit value stored in the memory to B(c1); and

[0022] (5) calculating the following equation using the updated upper limit value and the updated lower limit value:

D=(2^(n))×{Dx−B(c 1)}/{A(a 1)−B(c 1)}.

[0023] For example, as shown in FIG. 3, when the digital value Dx indicates B(c1) falling below the lower limit value B, the lower limit value B is overwritten by the new lower limit value B(c1), and a virtual line L5-L5 passing through the upper limit value A(a1) and the lower limit value B(c1) is assumed. It is assumed that the virtual line represents the input/output characteristic of the detector, and arithmetic processing based on the virtual line is performed. In this case, from the upper limit value A(a1) and the lower limit value B(c1), the detection output can be corrected in accordance with the virtual line approximating to the actual input/output characteristic of the detector.

[0024] According to another aspect of the present invention, an arithmetic unit for allocating a linear analog output obtained from a detector using a predetermined number of discrete levels (2^(n)) is provided. The arithmetic unit includes an A/D converter for converting the analog output from the detector into a digital value (Dx); a memory for storing an upper limit value A and a lower limit value B of the digital value (Dx) as predetermined values; and a controller for performing the following processing steps:

[0025] (1) when the digital value (Dx) is B(b1), which falls below the lower limit value B, updating the lower limit value stored in the memory to B(b1);

[0026] (2) computing a virtual upper limit value A(b1) from the lower limit value B(b1) in accordance with the slope of a linear function determined by the preset upper limit value A and the preset lower limit value B and updating the upper limit value stored in the memory to A(b1); and

[0027] (3) computing an operation output D by calculating the following equation with respect to a subsequently-obtained digital value (Dx):

D=(2^(n))×{Dx−B(b 1)}/{A(b 1)−B(b 1)}.

[0028] For example, as shown in FIG. 2, when the detection output Dx of the detector is the new lower limit value B(b1) falling below the lower limit value B stored in the memory (second register), the lower limit value B stored in the memory is overwritten by the new lower limit value B(b1), thus updating the lower limit value. It is assumed that the slope of the straight line remains unchanged after the updating, and a virtual line L3-L3 passing through the new lower limit value B(b1) is assumed. In accordance with the virtual line, an upper limit value A(b1) of the detector is obtained. From the computed upper limit value and the computed lower limit value, the digital output from the detector can be corrected in accordance with the virtual line approximating to the actual input/output characteristic of the detector. As a result, an error in the output (computation output) of the detector can be reduced.

[0029] Every time the digital value (Dx) falls below the lower limit value B(b1), the processing steps (1), (2), and (3) may be performed in accordance with a new lower limit value.

[0030] For example, as shown in FIG. 2, when the digital value Dx indicates B(b2) falling below the lower limit value B(b1), a virtual line L4-L4 passing through the new lower limit value B(b2) is assumed, and an upper limit value A(b2) is obtained. Accordingly, similar arithmetic processing can be repeated.

[0031] When the digital value (Dx) is A(c1), which exceeds the upper limit value A, the following processing steps may be performed:

[0032] (4) updating the upper limit value stored in the memory to A(c1); and

[0033] (5) calculating the following equation using the updated upper limit value and the updated lower limit value:

D=(2^(n))×{Dx−B(b 1)}/{A(c 1)−B(b 1)}.

[0034] For example, as shown in FIG. 4, when the digital value X indicates A(c1) exceeding the upper limit value A, the upper limit value A is overwritten by the new upper limit value A(c1), and a virtual line L6-L6 passing through the lower limit value B(b1) and the upper limit value A(c1) is assumed. It is regarded that the virtual line L6-L6 represents the input/output characteristic of the detector, and arithmetic processing in accordance with the virtual line L6-L6 is performed. In this case, from the upper limit value A(c1) and the lower limit value B(b1), the detection output can be corrected in accordance with the virtual line approximating to the actual input/output characteristic of the detector.

[0035] In a case when AO represents an actual upper limit value obtained from the A/D converter when an operating range of the detector is at an upper limit and when B0 represents an actual lower limit value obtained from the A/D converter when the operating range of the detector is at a lower limit, the upper limit value A and the lower limit value B stored in the memory are values taking into consideration a predetermined dead zone a, whereby A=A0−α and B=B0+α. When updating the upper limit value or the lower limit value, an updated value is obtained by subtracting the dead zone α from the detected value, for the upper limit value, or adding the dead zone α to the detected value, for the lower limit value.

[0036] For example, as shown in FIG. 5, when the predetermined dead zone α is set inward from the upper limit value A0 and the lower limit value B0 of the mechanical operating range of the detector as the upper limit value A and the lower limit value B for arithmetic processing, the upper limit value A and the lower limit value B can be easily updated. The accuracy of the virtual lines can be improved. Because the detection output can be corrected in accordance with the virtual lines, an error in the output (computation output) of the detector can be further reduced.

BRIEF DESCRIPTION OF THE DRAWINGS

[0037]FIG. 1 is a block diagram of an arithmetic unit for correcting a detection output according to an embodiment of the present invention;

[0038]FIG. 2 is a conceptual diagram showing arithmetic processing when the detection output exceeds an upper limit value or falls below a lower limit value;

[0039]FIG. 3 is a conceptual diagram showing arithmetic processing when the detection output which has exceeded the upper limit value falls below the lower limit value;

[0040]FIG. 4 is a conceptual diagram showing arithmetic processing when the detection output which has fallen below the lower limit value exceeds the upper limit value; and

[0041]FIG. 5 is a conceptual diagram showing arithmetic processing when dead zones are provided.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0042] The present invention will become apparent from the following description of preferred embodiments with reference to the accompanying drawings.

[0043]FIG. 1 shows an arithmetic unit for correcting a detection output according to the present invention. FIG. 2 shows arithmetic processing when the detection output exceeds an upper limit value or falls below a lower limit value. FIG. 3 shows arithmetic processing when the detection output which has exceeded the upper limit value falls below the lower limit value. FIG. 4 shows arithmetic processing when the detection output which has fallen below the lower limit value exceeds the upper limit value. FIG. 5 shows arithmetic processing when dead zones are provided.

[0044] Referring to FIG. 1, an arithmetic unit 1 for correcting a detection output according to the present invention contains an A/D converter 3 connected to a detector 2, a main memory 4, and a controller 5.

[0045] The detector 2 can be of any type as long as it has a linear input/output characteristic. For example, the detector 2 can be a rotating-type or sliding-type resistor, a magnetic detector such as a Hall element or a magnetoresistive sensor, or a piezoelectric element such as a PZT (Pb(Zr—Ti)O₃) element.

[0046] The A/D converter 3 has a function for allocating a predetermined voltage level using a predetermined resolution, such as 256 discrete levels (2⁸ discrete levels) or 1024 discrete levels (2¹⁰ discrete levels), and, in accordance with the allocation, converting an analog output Ax of the detector 2 into a digital output Dx. When the output of the detector 2 ranges from 0.5 V to 4.5 V, the range of convertible voltage (operating range) of the A/D converter 3 is 0 V to 5V. In such a manner, the output range of the detector 2 is set to fit into the operating range of the A/D converter 3.

[0047] The main memory 4 includes a ROM (Read Only Memory) or a RAM (Random Access Memory).

[0048] The controller 5 is formed mainly by a CPU (Central Processing Unit) and contains therein a first register (memory), a second register (memory), and a third register (memory). The controller 5 performs processing control of the A/D converter 3 and the main memory 4 and communication control with external circuits.

[0049] The operation of the arithmetic unit 1 for correcting a detection output will now be described.

[0050]FIG. 2 shows an input/output characteristic of a rotating-type resistor as an example of the detector 2. When an operation knob (not shown) is operated, the resistance of the rotating-type resistor changes. The horizontal axis represents a rotation angle of the operation knob, and the vertical axis represents an output voltage of an output unit of the operation knob. Specifically, a voltage which is output in proportion to the resistance, which varies in accordance with the rotation of the operation knob, is shown. The center of the detector 2 is set to zero degrees, and the operation knob can be rotated within a range of −20 degrees to +20 degrees around the center. When a voltage of 5 V is applied to the detector 2, and when the operation knob is rotated −20 degrees, an output unit 2 a of the detector 2 outputs a lower limit value B (such as 0.5 V). When the operation knob is rotated +20 degrees, the output unit 2 a outputs an upper limit value A (such as 4.5 V).

[0051] As indicated by the line L0-L0 shown in FIG. 2, the input/output characteristic of the detector 2 is linear (straight line). The detector 2 outputs an analog output Ax which is in proportion to the rotation angle of the operation knob.

[0052] The ROM of the main memory 4 stores beforehand the upper limit value A of the detector 2 when the operation knob is rotated +20 degrees and the lower limit value B of the detector 2 when the operation knob is rotated −20 degrees as digital values. The input/output characteristic is indicated by a straight line (line L0-L0) passing through the upper limit value A and the lower limit value B. The upper limit value A and the lower limit value B are stored as initial values of the detector 2 in the main memory 4.

[0053] The upper limit value A and the lower limit value B can be averages taken from values obtained by measuring detection outputs of a plurality of detectors 2 of the same type. Alternatively, the upper limit value A and the lower limit value B can be obtained for individual detectors 2 by individually measuring detection outputs of the detectors 2.

[0054] When the arithmetic unit 1 with the detector 2 is turned ON, the controller 5 reads the upper limit value A and the lower limit value B from the main memory 4 and stores the upper limit value A and the lower limit value B in the first register and the second register, respectively, in the controller 5.

[0055] The controller 5 activates the A/D converter 3 to convert an analog output Ax output from the output unit 2 a of the detector 2 into an output (digital value) Dx. The digitally-converted output Dx is stored in the third register in the controller 5. The controller 5 causes the A/D converter 3 to convert an analog output Ax from the detector 2 into a digital output Dx at a predetermined sampling time and overwrites the contents of the third register by the digitally-converted output Dx. This operation is repeated. The contents of the first register, namely, the upper limit value A, and the contents of the second register, namely, the lower limit value B, are each compared with the contents of the third register, namely, the digital output Dx from the detector.

[0056] Regardless of the fact that the operation knob of the detector 2 is operated, when the comparison result is within the range of B≦Dx ≦A, that is, when the digital output Dx of the detector 2 is greater than or equal to the lower limit value B and less than or equal to the upper limit value A, the controller 5 performs correction by arithmetic processing in accordance with the following equation (2), thus computing an operation output (corrected value) D for the detector 2: $\begin{matrix} {{{operation}\quad {output}\quad D} = {\frac{{D\quad x} - B}{A - B} \times 2^{n}}} & (2) \end{matrix}$

[0057] wherein n is a natural number.

[0058] When n=8, that is, when the A/D converter 3 is an eight-bit A/D converter, the values between the upper limit value A and the lower limit value B are allocated using a resolution of 256 (00 to FF), and in accordance with the allocation, the output of the detector 2 is converted into one of the values from 00 to FF.

[0059] The operation output D is output as a final output value of the detector 2 through a bus line to various external circuits.

[0060] In a case when the operation knob of the detector 2 is operated and when the digital output Dx of the detector 2 exceeds the upper limit value A (A<Dx) or when the digital output Dx falls below the lower limit value B (Dx<B), the arithmetic unit 1 performs processing described below.

[0061] (1) When A<Dx

[0062] i) When digital output Dx exceeding upper limit value A is input

[0063] For example, as shown in FIG. 2, when the operation knob is rotated +20 degrees and when the digital output Dx is a value (A(a1)) exceeding the upper limit value A (A<Dx=A(a1)), the controller 5 updates the contents of the first register (upper limit value A) by overwriting the contents by the value A(a1), which is the digital output Dx exceeding the upper limit value A, and the value A(a1) is regarded as a new upper limit value. The controller 5 assumes a straight line passing through the new upper limit value A(a1) as a virtual line L1-L1. It is assumed that the slope of the virtual line L1-L1 is the same as that of the straight line L0-L0 representing the initial input/output characteristic of the detector 2.

[0064] The controller 5 computes a corresponding lower limit value B(a1) when the operation knob is rotated −20 degrees in accordance with the virtual line L1-L1 and overwrites the contents of the second register (lower limit value B) by the new lower limit value B(a1), thus updating the lower limit value. In accordance with the new upper limit value A, the new lower limit value B, and equation (2), the controller 5 corrects the subsequent digital output Dx output from the detector 2.

[0065] When the operation knob is further operated, and when the digital output Dx becomes a value A(a2) exceeding the new upper limit value A(a1), the controller 5 performs processing similar to the above using the new upper limit value A(a2).

[0066] Specifically, the controller 5 computes a new lower limit value B(a2) in accordance with the new upper limit value A(a2) and a virtual line L2-L2 passing through the new upper limit value A(a2). The controller 5 overwrites the contents of the first and second registers by the new upper limit value A(a2) and the lower limit value B(a2), thus updating the upper limit value and the lower limit value. In accordance with the new upper limit value A(a2), the new lower limit value B(a2), and equation (2), the controller 5 corrects the subsequent digital output Dx from the detector 2.

[0067] The foregoing updating processing is repeated every time the digital output Dx exceeding the upper limit value A stored in the first register is input. Thus, the arithmetic unit 1 can perform correction in accordance with a new virtual line which represents the actual input/output characteristic of the detector 2, and the accuracy of the operation output D can be improved.

[0068] ii) When digital output Dx falling below lower limit value B is input

[0069] As shown in FIG. 3, in a case when the contents of the first register have been overwritten by the new upper limit value A(a1) and when the contents of the second register have been overwritten by the new lower limit value B(a1) (virtual line L1-L1), when the digital output Dx (=B(c1)) falling below the contents of the second register (B(a1)) is input, the controller 5 performs control processing described below.

[0070] The controller 5 overwrites the contents of the second register by the new lower limit value B(c1), assumes a straight line passing through the upper limit value A(a1) and the new lower limit value B(c1) as a virtual line L5-L5, and performs correction in accordance with the new straight line as the input/output characteristic of the detector 2. In other words, the controller 5 corrects the digital output Dx of the detector 2 in accordance with the new upper limit value A(a1), the new lower limit value B(c1), and equation (2). The operation output D is output as a final output of the detector 2 to various external circuits through a bus line.

[0071] When the subsequently-detected digital output Dx of the detector 2 exceeds the new upper limit value A(a1) or falls below the new lower limit value B(c1), the upper limit value A(a1) and the lower limit value B(c1) are overwritten by a new upper limit value A(a2) and a new lower limit value B(c2), thus updating the upper and lower limit values. Processing similar to the above is performed in accordance with a virtual line passing through the upper limit value A(a2) and the lower limit value B(c2).

[0072] (2) When Dx<B

[0073] i) When digital output Dx falling below lower limit value B is input

[0074] In contrast, when the operation knob is operated −20 degrees, and when the digital output Dx is a value (B(b1)) falling below the lower limit value B (B<Dx=B(b1)), the controller 5 performs processing similar to the above around the lower limit value B. Specifically, the controller 5 overwrites the contents of the second register (lower limit value B) by the new lower limit value B(b1). The controller 5 assumes a virtual line L4-L4 passing through the new lower limit value B(b1) (see FIG. 2) and, in accordance with the virtual line L4-L4, computes an upper limit value A(b1) when the operation knob is operated +20 degrees. The controller 5 overwrites the contents of the first and second registers by the new upper limit value A(b1) and the new lower limit value B(b1). In accordance with the new upper limit value A(b1), the new lower limit value B(b1), and equation (2), the controller 5 corrects the subsequently-input digital output Dx.

[0075] When the detector 2 outputs B(b2) falling below the new lower limit value B(b1) as a digital output Dx while the operation knob is being operated, processing similar to the above is repeated. A new virtual line L5-L5 is assumed, and a new upper limit value A(b2) is obtained in accordance with the line L5-L5. The contents of the first and second registers are overwritten by the upper limit value A(b2) and the lower limit value B(b2), respectively.

[0076] The above updating processing is repetitively performed every time the digital output Dx falling below the lower limit value B stored in the second register is input.

[0077] ii) When digital output Dx exceeding upper limit value A is input

[0078] As shown in FIG. 4, in a case when the contents of the first register are overwritten by the upper limit value A(b1) and when the contents of the second register are overwritten by the lower limit value B(b1) (virtual line L3-L3), when the digital output Dx (=A(c1)) exceeding the contents of the first register (upper limit value A(b1)) is input, control processing as described below is performed.

[0079] The controller 5 overwrites the contents of the first register by the new upper limit value A(c1), assumes a straight line (virtual line L6-L6) passing through the new upper limit value A(c1) and the lower limit value B(b1), and performs correction in accordance with the new virtual line L6-L6 which is regarded as the input/output characteristic of the detector 2. In other words, the digital output Dx of the detector 2 is corrected in accordance with the new upper limit value A(c1), the new lower limit value B(b1), and equation (2). The resulting operation output D is output as a final output of the detector 2 to various external circuits through the bus line.

[0080] When the digital output Dx of the detector 2 exceeds the overwritten upper limit value A(c1) and falls below the lower limit value B(b1), the controller 5 again overwrites the upper limit value A(c1) by a new upper limit value A(c2) and the lower limit value B(b1) by a new lower limit value B(b2), thus updating the upper and lower limit values. Processing similar to the above is performed in accordance with a newly assumed virtual line L7-L7 (straight line).

[0081] As described above, the use of the arithmetic unit 1 achieves correction in accordance with the input/output characteristic approximating to the actual input/output characteristic of the detector 2. Thus, the accuracy of the operation output (corrected value) D obtained by correcting the digital output Dx of the detector 2 using the upper limit value A and the lower limit value B can be improved.

[0082] In particular, when the detector 2 becomes worn as a result of being used over an extended period of time, the internal mechanical characteristics may vary. In such a case, the upper limit value A and the lower limit value B after the variation greatly differ from the initial upper limit value A and the initial lower limit value B stored in the main memory 4. Even in such a case, by performing arithmetic processing using equation 2 in accordance with the new upper limit value A and the new lower limit value B after the updating, the operation output D with respect to the input operation of the detector 2 (the operation of the operation knob) can be obtained in accordance with a proportional distribution based on the new upper limit value A and the new lower limit value B.

[0083] When the detector 2 is continuously used, the digital output Dx of the detector 2 more frequently exceeds the upper limit value A and/or falls below the lower limit value B. Accordingly, the accuracy of the operation output D can be improved. The correction operation is performed without being noticed by a user, that is, the correction operation is automatically performed by internal processing of the arithmetic unit 1 while the user is operating the operation knob. Thus, no burden in put on the user.

[0084] As the distance in the horizontal axis direction between the upper limit value A and the lower limit value B increases, the more the accuracy of the input/output characteristic (straight line) of the detector 2 improves. Thus, the correction accuracy of the detector 2 is improved. In view of these facts, the initial upper limit value A and the initial lower limit value B stored in the main memory 4 tend to be an upper limit value of the operating range of the detector 2 (for example, digital output Dx when +20 degrees is detected) and a lower limit value of the operating range (digital output Dx when −20 degrees is detected).

[0085] In a case when the upper limit value A and the lower limit value B are set to be the limit values (the upper limit value and the lower limit value) of the operating range of the detector 2, the digital output Dx rarely exceeds/falls below the limit values of the operating range particularly when the detector 2 is new. The arithmetic unit 1 cannot sufficiently perform the updating, and it becomes difficult to improve the correction accuracy of the operation output D.

[0086] Referring to FIG. 5, A0 represents an actual upper limit value obtained from the A/D converter 3 when the operating range of the detector 2 is at the upper limit, and B0 represents an actual lower limit value obtained from the A/D converter 3 when the operating range of the detector 2 is at the lower limit. Preferably, a dead zone α of a predetermined constant is provided at a lower side of the upper limit value A, and also a dead zone α of a predetermined constant is provided at an upper side of the lower limit value B.

[0087] In this case, equation (2) is replaced by equation (3) below, taking into consideration the dead zone a, thus achieving the operation output D of high accuracy: $\begin{matrix} {{{operation}\quad {output}\quad D} = {\frac{({Dx}) - \left( {{A0} - \alpha} \right)}{\left( {{A0} - \alpha} \right) - \left( {{B0} + \alpha} \right)} \times \left( 2^{n} \right)}} & (3) \end{matrix}$

[0088] wherein n is a natural number.

[0089] In other words, the dead zone α is provided at each of the lower side of the upper limit value A and at the upper side of the lower limit value B. Thus, the upper limit value A is A0−α, and the lower limit value B is B0+α. Accordingly, the upper limit value A can be set to a value less than the actual upper limit value A0 of the detector 2, and the lower limit value B can be set to a value greater than the actual lower limit value B0 of the detector 2. As a result, the digital output Dx more frequently updates the upper limit value A and the lower limit value B. When updating the upper limit value A or the lower limit value B, an updated value can be obtained by subtracting the dead zone α from the detected value, for the upper limit value, or adding the dead zone α to the detected value, for the lower limit value. 

What is claimed is:
 1. An arithmetic unit for allocating a linear analog output obtained from detection means using a predetermined number of discrete levels (2^(n)), comprising: A/D conversion means for converting the analog output from the detection means into a digital value (Dx); memory means for storing an upper limit value A and a lower limit value B of the digital value (Dx) as predetermined values; and a controller for performing the following processing steps: (1) when the digital value (Dx) is A(a1), which exceeds the upper limit value A, updating the upper limit value stored in the memory means to A(a1); (2) computing a virtual lower limit value B(a1) from the upper limit value A(a1) in accordance with the slope of a linear function determined by the preset upper limit value A and the preset lower limit value B and updating the lower limit value stored in the memory means to the lower limit value B(a1); and (3) computing an operation output D by calculating the following equation with respect to a subsequently-obtained digital value (Dx): D=(2^(n))×{Dx−B(a 1)}/{A(a 1)−B(a 1)}.
 2. The arithmetic unit for correcting the detection output according to claim 1, wherein, every time the digital value (Dx) exceeds the upper limit value A(a1), the processing steps (1), (2), and (3) are performed in accordance with a new upper limit value.
 3. The arithmetic unit for correcting the detection output according to claim 1, wherein, when the digital value (Dx) is B(c1), which falls below the lower limit value B, the following processing steps are performed: (4) updating the lower limit value stored in the memory means to B(c1); and (5) calculating the following equation using the updated upper limit value and the updated lower limit value: D=(2^(n))×{Dx−B(c 1)}/{A(a 1)−B(c 1)}.
 4. An arithmetic unit for allocating a linear analog output obtained from detection means using a predetermined number of discrete levels (2^(n)), comprising: A/D conversion means for converting the analog output from the detection means into a digital value (Dx); memory means for storing an upper limit value A and a lower limit value B of the digital value (Dx) as predetermined values; and a controller for performing the following processing steps: (1) when the digital value (Dx) is B(b1), which falls below the lower limit value B, updating the lower limit value stored in the memory means to B(b1); (2) computing a virtual upper limit value A(b1) from the lower limit value B(b1) in accordance with the slope of a linear function determined by the preset upper limit value A and the preset lower limit value B and updating the upper limit value stored in the memory means to A(b1); and (3) computing an operation output D by calculating the following equation with respect to a subsequently-obtained digital value (Dx): D=(2^(n))×{Dx−B(b 1)}/{A(b 1)−B(b 1)}.
 5. The arithmetic unit for correcting the detection output according to claim 4, wherein, every time the digital value (Dx) falls below the lower limit value B(b1), the processing steps (1), (2), and (3) are performed in accordance with a new lower limit value.
 6. The arithmetic unit for correcting the detection output according to claim 4, wherein, when the digital value (Dx) is A(c1), which exceeds the upper limit value A, the following processing steps are performed: (4) updating the upper limit value stored in the memory means to A(c1); and (5) calculating the following equation using the updated upper limit value and the updated lower limit value: D=(2^(n))×{Dx−B(b 1)}/{A(c 1)−B(b 1)}.
 7. The arithmetic unit for correcting the detection output according to claim 1, wherein, in a case when A0 represents an actual upper limit value obtained from the A/D conversion means when an operating range of the detection means is at an upper limit and when B0 represents an actual lower limit value obtained from the A/D conversion means when the operating range of the detection means is at a lower limit, the upper limit value A and the lower limit value B stored in the memory means are values taking into consideration a predetermined dead zone a, whereby A=A0−α and B=B0+α, and when updating the upper limit value or the lower limit value, an updated value is obtained by subtracting the dead zone α from the detected value, for the upper limit value, or adding the dead zone α to the detected value, for the lower limit value.
 8. The arithmetic unit for correcting the detection output according to claim 4, wherein, in a case when A0 represents an actual upper limit value obtained from the A/D conversion means when an operating range of the detection means is at an upper limit and when B0 represents an actual lower limit value obtained from the A/D conversion means when the operating range of the detection means is at a lower limit, the upper limit value A and the lower limit value B stored in the memory means are values taking into consideration a predetermined dead zone a, whereby A=A0−α and B=B0+α, and when updating the upper limit value or the lower limit value, an updated value is obtained by subtracting the dead zone α from the detected value, for the upper limit value, or adding the dead zone α to the detected value, for the lower limit value. 